import { Family } from "@/types/family";
import { api } from '@/api/request';

/**
 * sysFamily 相关的接口封装
 * CRUD操作（create 添加数据read读取数据 update 修改数据delete删除数据）
 * 1.增加家庭 createFamily(new_family : Family)
 * 2.删除家庭 deleteFamily(id : number)
 * 3.修改家庭 updateFamily(update_family : Family)
 * 4.查询数据 readFamily(sys_user_id : number)
 */

/**
 * 增加家庭
 * sys_family 管理页面调用
 * 后端使用GET请求
 * 必须填入家庭名称和家庭描述，户主id由系统创建
 * @param {Family} new_family 
 * @return 
 */
export async function createFamily(new_family : Family) {
	let res = await api<string>({
		method: 'GET',
		url: '/family/save',
		data: new_family
	})
	if (res.code == 200) {
		return res.data
	}
}

/**
 * 删除家庭,根据id删除
 * sys_family 管理页面调用
 * @param {number} id 
 * @return 
 */
export async function deleteFamily(id : number) {
	let res = await api<string>({
		method: 'DELETE',
		url: '/family/deleteById/' + id
	})
	if (res.code == 200) {
		return res.data
	}
}

/**
 * 修改家庭,根据 family 对象数据上传
 * sys_family 管理页面调用
 * @param {Family} update_family 
 * @return 
 */
export async function updateFamily(update_family : Family) {
	let res = await api<string>({
		method: 'GET',
		url: '/family/updateFamily',
		data: update_family
	})
	if (res.code === 200) {
		return res
	}
}

/**
 * 查询家庭,根据 user_id 查询所有家庭,id数据来自登陆后的 token
 * sys_family 管理页面中调用,查询家庭数据
 * sys_room 管理页面中调用,创建房间时下拉选择家庭
 * user 页面中调用,查询家庭数量
 * @return 
 */
export  function readFamily(sys_user_id : number) {
	return api<Family[]>({
		method: 'GET',
		url: '/family/listFamily',
		data: {
			'sysUserId': sys_user_id
		}
	})
}